This Background is intended to provide the basic context of this patent application and it is not intended to describe a specific problem to be solved.
Commercial software ships with undetected bugs despite the combined best efforts of programmers, sophisticated program analysis tools that detect program errors, and extensive testing. When run with certain inputs, these undetected software errors cause crashes that are disruptive at best, and cost money and lives at worst. To fix the problem, a programmer often has to painstakingly try and work backwards from the crash to isolate and debug the root cause of the error. This process is tedious, error-prone, and involves guesswork as typically the only information available is the stack trace and register values at the point where the program crashed.
Statistical debugging aims to streamline and automate the process of isolating the bug responsible for the program crash. It achieves this goal by collecting information about program execution from both successful and failing runs of a program and applying statistical techniques to pinpoint the likely cause of the software crash.